Page({
  data: {
    currentDate: new Date().getTime(),
    houseLayerVisible: false,
    repairLayerVisible: false,
    dateLayerVisible: false,
    houseList: [],
    repairItem: [{ name: '水路卫浴' }, { name: '电路灯具' }, { name: '管道疏通' }, { name: '开锁换锁' },{name: '修理 Rofm'}],
    attachment: [
      { url: '/repair_pkg/static/uploads/attachment.jpg' },
    ],
  },
  onLoad() {
    // 获取房屋列表
    this.getHouseList()
    // 获取维修项目
    this.getRepairItem()
  },
  openHouseLayer() {
    this.setData({ houseLayerVisible: true })
  },
  closeHouseLayer() {
    this.setData({ houseLayerVisible: false })
  },
  openRepairLayer() {
    this.setData({ repairLayerVisible: true })
  },
  closeRepairLayer() {
    this.setData({
      repairLayerVisible: false,
    })
  },

  openDateLayer() {
    this.setData({ dateLayerVisible: true })
  },
  closeDateLayer() {
    this.setData({ dateLayerVisible: false })
  },
  goList() {
    wx.reLaunch({
      url: '/repair_pkg/pages/list/index',
    })
  },
    //选择的房屋 触发！！！！
  selectHouse(ev) {
    // 存储房屋 id和房屋名字
    const {name:houseInfo,id:houseId} = ev.detail
    this.setData({houseInfo,houseId})  //houseId传给后端
  },
  // 选择修理项目时触发！！
  selectRepairItem(ev) {
    // 存储 id和修理项目
    const {name:repairItemName,id:repairItemId} = ev.detail
    this.setData({repairItemName,repairItemId})
  },
  // 选中日期时，触发！！
  selectDate(ev) {
    this.setData({
      appointment:wx.utils.formatDate(ev.detail),  //记录事件戳,引入utils方法，将时间戳转成时间
      dateLayerVisible: false  //关闭popup
    })
  },
  async getHouseList() {
    // 请求数据接口
    const { code, data: houseList } = await wx.http.get('/house')
    // 检测接口返回的结果
    if (code !== 10000) return wx.utils.toast('获取房屋列表失败!')
    // 数据渲染
    this.setData({ houseList })
  },
  async getRepairItem() {
    // 请求数据接口
    const { code, data: repairItem } = await wx.http.get('/repairItem')
    // 检测接口返回的数据
    if (code !== 10000) return wx.utils.toast('获取维修项目失败!')
    // 数据渲染
    this.setData({ repairItem })
  },
  afterRead(ev) {
    // console.log(ev.detail.file.url) //选择的图片地址
    // 上传到自己服务器
    wx.uploadFile({
      url: wx.http.baseURL + '/upload',
      filePath: ev.detail.file.url,
      name: "file",
      header:{
        Authorization:getApp().token
      },
      success:(res) => {
        const {code,data} = JSON.parse(res.data)
        if(code !== 10000) return wx.utils.toast('图片上传失败')
        const obj = { url:data.url }
        const newAttachment = [...this.data.attachment]  //浅拷贝对象
        newAttachment.push(obj)
        this.setData({ attachment:newAttachment }) //更新数据
      }
    })
  }
})
